#include "Cliente.h"
#include "Mensajes.h"
#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int main() {
        Cliente cliente;
        string tipo = "";
        mensaje respuesta;
        
        /* código de prueba a ser reemplazado por getopt */
        getline(cin, tipo);

        if(tipo[0] == 'a')
        {
                string datos = "";
                getline(cin, datos);
                respuesta = cliente.enviarPeticion(datos, ALTA);
        }
        
        else if(tipo[0] == 'c')
        {
                string tipo_consulta = "";
                getline(cin, tipo_consulta);
                
                if(tipo_consulta[0] == 'n')
                {
                        string nombre = "";
                        getline(cin, nombre);
                        string dato_mensaje = nombre + "&&";
                        respuesta = cliente.enviarPeticion(dato_mensaje, PETICION_NOMBRE);
                }
                
                else if(tipo_consulta[0] == 'd')
                {
                        string direccion = "";
                        getline(cin, direccion);
                        string dato_mensaje = "&" + direccion + "&";
                        respuesta = cliente.enviarPeticion(dato_mensaje, PETICION_DIRECCION);
                }
                
                else if(tipo_consulta[0] == 't')
                {
                        string telefono = "";
                        getline(cin, telefono);
                        string dato_mensaje = "&&" + telefono;
                        respuesta = cliente.enviarPeticion(dato_mensaje, PETICION_TELEFONO);            
                }
                
                else
                        exit(1);
        }
        
        else if(tipo[0] == 'm')
        {
                string tipo_modificacion = "";
                getline(cin, tipo_modificacion);
                
                string nombre = "", direccion_nueva = "", telefono_nuevo = "";
                getline(cin, nombre);
                
                if(tipo_modificacion[0] == 't')
                {
                        getline(cin, telefono_nuevo);           
                }
                
                if(tipo_modificacion[0] == 'd')
                {
                        getline(cin, direccion_nueva);
                }
                
                string datos_nuevos = nombre + "&" + direccion_nueva + "&" + telefono_nuevo;
                respuesta = cliente.enviarPeticion(datos_nuevos, MODIFICACION);
        }

        cout << "Respuesta: " << respuesta.texto << endl;
        
        return 0;
}